package com.jacobson.huobi.mvp.contract

import com.jacobson.core.mvp.IModel
import com.jacobson.core.mvp.IPresenter
import com.jacobson.core.mvp.IView
import com.jacobson.huobi.entities.SymbolRecordInfo
import com.jacobson.huobi.entities.response.AlarmRecordPageResponse
import io.reactivex.Observable

interface AlarmRecordContract {
    interface Presenter : IPresenter {
        fun loadSymbolRecordList(
            market: String,
            symbol: String,
            strategy: Int,
            period: String,
            lastTs: Long?
        )
    }

    interface View : IView {
        fun onSymbolRecordResp(response: AlarmRecordPageResponse)
    }

    interface Model : IModel {
        fun loadSymbolRecordList(
            market: String,
            symbol: String,
            strategy: Int,
            period: String,
            lastTs: Long?
        ): Observable<AlarmRecordPageResponse>
    }
}